package createModel.factoryModel.simple;

/**
 * 2024/01/11
 * <p>
 * ZhangYi
 * Description 简单工厂模式测试
 */
public class ClientSimpleBuildTest {
    public static void main(String[] args) {

        System.out.println("简单工厂模式测试start");

        checkFruit(FruitFactory.getFruit("apple"));
        checkFruit(FruitFactory.getFruit("banana"));
        checkFruit(FruitFactory.getFruit("strawberry"));
        checkFruit(FruitFactory.getFruit("watermelon"));

        // 测试没有的水果, 如果想要新增水果, 那么需要在 FruitFactory 中增加一个方法 ;这在实际开发中是不推荐的, 因为会增加代码的复杂度, 并且会增加维护的成本
        // 改变现有的代码逻辑在 工作中是不推荐的
        checkFruit(FruitFactory.getFruit("葡萄"));
        checkFruit(FruitFactory.getFruit("柚子"));

        System.out.println("简单工厂模式测试end");
    }

    private static void checkFruit(Fruit fruit) {
        if (fruit != null) {
            fruit.make();
        } else {
            System.out.println("没有这个水果");
        }
    }
}
